package com.waymap.service;

import java.util.List;
import java.util.Map;

import com.waymap.domain.TransactionItemInventoryDetails;
import org.springframework.http.ResponseEntity;

public interface TransactionInventoryDetailsService {


    /**
     * @author vincent mai
     * @param transDetail
     * @param userName 
     * @return
     */
    ResponseEntity<Map> saveTransationDetailLine(Map transDetail, String userName);
    
    /**
     * @author vincent mai
     * @param transDetail
     * @return
     */
    String saveBinTransferDetailLine(Map transDetail);

    /**
     * 同步transactions和transaction_inventory_details数据到NS saveTrancationSyncData
     * @param json
     * @return
     */
    ResponseEntity<Map> syncTrancationData(String json);

    /**
     * 同步Items数据到NS syncItemsFromNS
     * @param json
     * @return
     */
    ResponseEntity<Map> syncItemsFromNS(String json);

    /**
     * 同步locations数据到NS saveTrancationSyncData
     * @param json
     * @return
     */
    ResponseEntity<Map> syncLocationsFromNS(String json);

    ResponseEntity<Map> syncSOWaveFromNS(String json);
    ResponseEntity<Map> deleteSOFromNS(String json);
    /**
     * 查询TRACKING_NUMBER详情
     * @param param
     * @return
     */
    List<Map<String,Object>> queryTransactionInventoryDetailList(Map<String, Object> param);

    List<TransactionItemInventoryDetails> selectTrans(TransactionItemInventoryDetails transactionItemInventoryDetails);

    ResponseEntity<Map> syncItemInventoryFromNS(Map itemInv);
	/**
     * 新增同步方法
     **/
    ResponseEntity<Map> syncItemInventoryFromNS(String json);

	ResponseEntity<Map> clearItemInventory(String accountId);

    /**
     * 同步到NS
     * @param json
     * @return
     */
    ResponseEntity<Map> syncDataFromNS(String json);
    ResponseEntity<Map> updateNsWave(String json);
    ResponseEntity<Map> updateICstatus(String json);
    ResponseEntity<Map> updateWmsError(String json);

    ResponseEntity<Map> getScanedNumBybin(String tranid, int itemid);
}
